//+FHEADER /////////////////////////////////////////////////////////////////////////////
// FILE NAME :  code_out.v
// DEPARTMENT:  N/A
// AUTHOR:DingXU
// AUTHOR'S EMAIL : N/A
// --------------------------------------------------------------------------
// RELEASE HISTORY :
// VERSION DATE AUTHORDESCRIPTION: 
// 1.0 2020-05-17  DingXU initial version  
// Added comments in header:
//---------------------------------------------------------------------------
// KEYWORDS :  out, code
//--------------------------------------------------------------------------
// PURPOSE:   Coding out
// --------------------------------------------------------------------------
// PARAM NAME RANGE:  N/A
// -----------------------------------------------------------------------
// REUSE ISSUES:
// Reset Strategy : Asynchronous, active low system level reset : 
// Clock Domains : i_clk 
// Critical TiminG: N/A
// Instantiations : no
// Synthesizable : Yes 
//-FHEADER //////////////////////////////////////////////////////////////////////
module code_out(
                  i_clk               ,
                  i_rst_n             , 
                  i_cnt     	        , 
                  
                  //Data in
                  i_p1_0              , 
                  i_p1_1              ,
                  i_p1_2              ,
                  i_p1_3              ,
                  i_p1_4              ,
                  i_p1_5              ,
                  i_p1_6              ,
                  i_p1_7              ,
                  i_p1_8              ,
                  i_p1_9              ,
                  i_p1_10             ,
                  i_p1_11             ,
                  i_p1_12             ,
                  i_p1_13             ,
                  i_p1_14             ,
                  i_p1_15             ,
                  i_p1_16             ,
                  i_p1_17             ,
                  i_p1_18             ,
                  i_p1_19             ,
                  i_p1_20             ,
                  i_p1_21             ,
                  i_p1_22             ,
                  i_p1_23             ,
                  i_p1_24             ,
                  i_p1_25             ,
                  i_p1_26             ,
                  i_p1_27             ,
                  i_p1_28             ,
                  i_p1_29             ,
                  i_p1_30             ,
                  i_p1_31             ,
                  i_p1_32             ,
                  i_p1_33             ,
                  i_p1_34             ,
                  i_p1_35             ,
                  i_p1_36             ,
                  i_p1_37             ,
                  i_p1_38             ,
                  i_p1_39             ,
                  i_p1_40             ,
                  i_p1_41             ,
                  i_p1_42             ,
                  i_p1_43             ,
                  i_p1_44             ,
                  i_p1_45             ,
                  i_p1_46             ,
                  i_p1_47             ,
                  i_p1_48             ,
                  i_p1_49             ,
                  i_p1_50             ,
                  i_p1_51             ,
                  i_p1_52             ,
                  i_p1_53             ,
                  i_p1_54             ,
                  i_p1_55             ,
                  i_p1_56             ,
                  i_p1_57             ,
                  i_p1_58             ,
                  i_p1_59             ,
                  i_p1_60             ,
                  i_p1_61             ,
                  i_p1_62             ,
                  i_p1_63             ,
                  i_p1_64             ,
                  i_p1_65             ,
                  i_p1_66             ,
                  i_p1_67             ,
                  i_p1_68             ,
                  i_p1_69             ,
                  i_p1_70             ,
                  i_p1_71             ,
                  i_p1_72             ,
                  i_p1_73             ,
                  i_p1_74             ,
                  i_p1_75             ,
                  i_p1_76             ,
                  i_p1_77             ,
                  i_p1_78             ,
                  i_p1_79             ,
                  i_p1_80             ,
                  i_p1_81             ,
                  i_p1_82             ,
                  i_p1_83             ,
                  i_p1_84             ,
                  i_p1_85             ,
                  i_p1_86             ,
                  i_p1_87             ,
                  i_p1_88             ,
                  i_p1_89             ,
                  i_p1_90             ,
                  i_p1_91             ,
                  i_p1_92             ,
                  i_p1_93             ,
                  i_p1_94             ,
                  i_p1_95             ,
                  i_p1_96             ,
                  i_p1_97             ,
                  i_p1_98             ,
                  i_p1_99             ,
                  i_p1_100            ,
                  i_p1_101            ,
                  i_p1_102            ,
                  i_p1_103            ,
                  i_p1_104            ,
                  i_p1_105            ,
                  i_p1_106            ,
                  i_p1_107            ,
                  i_p1_108            ,
                  i_p1_109            ,
                  i_p1_110            ,
                  i_p1_111            ,
                  i_p1_112            ,
                  i_p1_113            ,
                  i_p1_114            ,
                  i_p1_115            ,
                  i_p1_116            ,
                  i_p1_117            ,
                  i_p1_118            ,
                  i_p1_119            ,
                  i_p1_120            ,
                  i_p1_121            ,
                  i_p1_122            ,
                  i_p1_123            ,
                  i_p1_124            ,
                  i_p1_125            ,
                  i_p1_126            ,
                  i_p1_127            ,
                  i_p1_128            ,
                  i_p1_129            ,
                  i_p1_130            ,
                  i_p1_131            ,
                  i_p1_132            ,
                  i_p1_133            ,
                  i_p1_134            ,
                  i_p1_135            ,
                  i_p1_136            ,
                  i_p1_137            ,
                  i_p1_138            ,
                  i_p1_139            ,
                  i_p1_140            ,
                  i_p1_141            ,
                  i_p1_142            ,
                  i_p1_143            ,
                  i_p1_144            ,
                  i_p1_145            ,
                  i_p1_146            ,
                  i_p1_147            ,
                  i_p1_148            ,
                  i_p1_149            ,
                  i_p1_150            ,
                  i_p1_151            ,
                  i_p1_152            ,
                  i_p1_153            ,
                  i_p1_154            ,
                  i_p1_155            ,
                  i_p1_156            ,
                  i_p1_157            ,
                  i_p1_158            ,
                  i_p1_159            ,
                  i_p1_160            ,
                  i_p1_161            ,
                  i_p1_162            ,
                  i_p1_163            ,
                  i_p1_164            ,
                  i_p1_165            ,
                  i_p1_166            ,
                  i_p1_167            ,
                  i_p1_168            ,
                  i_p1_169            ,
                  i_p1_170            ,
                  i_p1_171            ,
                  i_p1_172            ,
                  i_p1_173            ,
                  i_p1_174            ,
                  i_p1_175            ,
                  i_p1_176            ,
                  i_p1_177            ,
                  i_p1_178            ,
                  i_p1_179            ,
                  i_p1_180            ,
                  i_p1_181            ,
                  i_p1_182            ,
                  i_p1_183            ,
                  i_p1_184            ,
                  i_p1_185            ,
                  i_p1_186            ,
                  i_p1_187            ,
                  i_p1_188            ,
                  i_p1_189            ,
                  i_p1_190            ,
                  i_p1_191            ,
                  i_p1_192            ,
                  i_p1_193            ,
                  i_p1_194            ,
                  i_p1_195            ,
                  i_p1_196            ,
                  i_p1_197            ,
                  i_p1_198            ,
                  i_p1_199            ,
                  i_p1_200            ,
                  i_p1_201            ,
                  i_p1_202            ,
                  i_p1_203            ,
                  i_p1_204            ,
                  i_p1_205            ,
                  i_p1_206            ,
                  i_p1_207            ,
                  i_p1_208            ,
                  i_p1_209            ,
                  i_p1_210            ,
                  i_p1_211            ,
                  i_p1_212            ,
                  i_p1_213            ,
                  i_p1_214            ,
                  i_p1_215            ,
                  i_p1_216            ,
                  i_p1_217            ,
                  i_p1_218            ,
                  i_p1_219            ,
                  i_p1_220            ,
                  i_p1_221            ,
                  i_p1_222            ,
                  i_p1_223            ,
                  i_p1_224            ,
                  i_p1_225            ,
                  i_p2_0              , 
                  i_p2_1              ,
                  i_p2_2              ,
                  i_p2_3              ,
                  i_p2_4              ,
                  i_p2_5              ,
                  i_p2_6              ,
                  i_p2_7              ,
                  i_p2_8              ,
                  i_p2_9              ,
                  i_p2_10             ,
                  i_p2_11             ,
                  i_p2_12             ,
                  i_p2_13             ,
                  i_p2_14             ,
                  i_p2_15             ,
                  i_p2_16             ,
                  i_p2_17             ,
                  i_p2_18             ,
                  i_p2_19             ,
                  i_p2_20             ,
                  i_p2_21             ,
                  i_p2_22             ,
                  i_p2_23             ,
                  i_p2_24             ,
                  i_p2_25             ,
                  i_p2_26             ,
                  i_p2_27             ,
                  i_p2_28             ,
                  i_p2_29             ,
                  i_p2_30             ,
                  i_p2_31             ,
                  i_p2_32             ,
                  i_p2_33             ,
                  i_p2_34             ,
                  i_p2_35             ,
                  i_p2_36             ,
                  i_p2_37             ,
                  i_p2_38             ,
                  i_p2_39             ,
                  i_p2_40             ,
                  i_p2_41             ,
                  i_p2_42             ,
                  i_p2_43             ,
                  i_p2_44             ,
                  i_p2_45             ,
                  i_p2_46             ,
                  i_p2_47             ,
                  i_p2_48             ,
                  i_p2_49             ,
                  i_p2_50             ,
                  i_p2_51             ,
                  i_p2_52             ,
                  i_p2_53             ,
                  i_p2_54             ,
                  i_p2_55             ,
                  i_p2_56             ,
                  i_p2_57             ,
                  i_p2_58             ,
                  i_p2_59             ,
                  i_p2_60             ,
                  i_p2_61             ,
                  i_p2_62             ,
                  i_p2_63             ,
                  i_p2_64             ,
                  i_p2_65             ,
                  i_p2_66             ,
                  i_p2_67             ,
                  i_p2_68             ,
                  i_p2_69             ,
                  i_p2_70             ,
                  i_p2_71             ,
                  i_p2_72             ,
                  i_p2_73             ,
                  i_p2_74             ,
                  i_p2_75             ,
                  i_p2_76             ,
                  i_p2_77             ,
                  i_p2_78             ,
                  i_p2_79             ,
                  i_p2_80             ,
                  i_p2_81             ,
                  i_p2_82             ,
                  i_p2_83             ,
                  i_p2_84             ,
                  i_p2_85             ,
                  i_p2_86             ,
                  i_p2_87             ,
                  i_p2_88             ,
                  i_p2_89             ,
                  i_p2_90             ,
                  i_p2_91             ,
                  i_p2_92             ,
                  i_p2_93             ,
                  i_p2_94             ,
                  i_p2_95             ,
                  i_p2_96             ,
                  i_p2_97             ,
                  i_p2_98             ,
                  i_p2_99             ,
                  i_p2_100            ,
                  i_p2_101            ,
                  i_p2_102            ,
                  i_p2_103            ,
                  i_p2_104            ,
                  i_p2_105            ,
                  i_p2_106            ,
                  i_p2_107            ,
                  i_p2_108            ,
                  i_p2_109            ,
                  i_p2_110            ,
                  i_p2_111            ,
                  i_p2_112            ,
                  o_w_en              ,
                  
                  //Data out
                  o_data              
                  );
 
///////////////////////////////////////
//declaration of input & output
///////////////////////////////////////                
input             i_clk               ;
input             i_rst_n             ;
input   [6:0]     i_cnt               ;
input   [2:0]     i_p1_0              ;  
input   [2:0]     i_p1_1              ;
input   [2:0]     i_p1_2              ;
input   [2:0]     i_p1_3              ;
input   [2:0]     i_p1_4              ;
input   [2:0]     i_p1_5              ;
input   [2:0]     i_p1_6              ;
input   [2:0]     i_p1_7              ;
input   [2:0]     i_p1_8              ;
input   [2:0]     i_p1_9              ;
input   [2:0]     i_p1_10             ;
input   [2:0]     i_p1_11             ;
input   [2:0]     i_p1_12             ;
input   [2:0]     i_p1_13             ;
input   [2:0]     i_p1_14             ;
input   [2:0]     i_p1_15             ;
input   [2:0]     i_p1_16             ;
input   [2:0]     i_p1_17             ;
input   [2:0]     i_p1_18             ;
input   [2:0]     i_p1_19             ;
input   [2:0]     i_p1_20             ;
input   [2:0]     i_p1_21             ;
input   [2:0]     i_p1_22             ;
input   [2:0]     i_p1_23             ;
input   [2:0]     i_p1_24             ;
input   [2:0]     i_p1_25             ;
input   [2:0]     i_p1_26             ;
input   [2:0]     i_p1_27             ;
input   [2:0]     i_p1_28             ;
input   [2:0]     i_p1_29             ;
input   [2:0]     i_p1_30             ;
input   [2:0]     i_p1_31             ;
input   [2:0]     i_p1_32             ;
input   [2:0]     i_p1_33             ;
input   [2:0]     i_p1_34             ;
input   [2:0]     i_p1_35             ;
input   [2:0]     i_p1_36             ;
input   [2:0]     i_p1_37             ;
input   [2:0]     i_p1_38             ;
input   [2:0]     i_p1_39             ;
input   [2:0]     i_p1_40             ;
input   [2:0]     i_p1_41             ;
input   [2:0]     i_p1_42             ;
input   [2:0]     i_p1_43             ;
input   [2:0]     i_p1_44             ;
input   [2:0]     i_p1_45             ;
input   [2:0]     i_p1_46             ;
input   [2:0]     i_p1_47             ;
input   [2:0]     i_p1_48             ;
input   [2:0]     i_p1_49             ;
input   [2:0]     i_p1_50             ;
input   [2:0]     i_p1_51             ;
input   [2:0]     i_p1_52             ;
input   [2:0]     i_p1_53             ;
input   [2:0]     i_p1_54             ;
input   [2:0]     i_p1_55             ;
input   [2:0]     i_p1_56             ;
input   [2:0]     i_p1_57             ;
input   [2:0]     i_p1_58             ;
input   [2:0]     i_p1_59             ;
input   [2:0]     i_p1_60             ;
input   [2:0]     i_p1_61             ;
input   [2:0]     i_p1_62             ;
input   [2:0]     i_p1_63             ;
input   [2:0]     i_p1_64             ;
input   [2:0]     i_p1_65             ;
input   [2:0]     i_p1_66             ;
input   [2:0]     i_p1_67             ;
input   [2:0]     i_p1_68             ;
input   [2:0]     i_p1_69             ;
input   [2:0]     i_p1_70             ;
input   [2:0]     i_p1_71             ;
input   [2:0]     i_p1_72             ;
input   [2:0]     i_p1_73             ;
input   [2:0]     i_p1_74             ;
input   [2:0]     i_p1_75             ;
input   [2:0]     i_p1_76             ;
input   [2:0]     i_p1_77             ;
input   [2:0]     i_p1_78             ;
input   [2:0]     i_p1_79             ;
input   [2:0]     i_p1_80             ;
input   [2:0]     i_p1_81             ;
input   [2:0]     i_p1_82             ;
input   [2:0]     i_p1_83             ;
input   [2:0]     i_p1_84             ;
input   [2:0]     i_p1_85             ;
input   [2:0]     i_p1_86             ;
input   [2:0]     i_p1_87             ;
input   [2:0]     i_p1_88             ;
input   [2:0]     i_p1_89             ;
input   [2:0]     i_p1_90             ;
input   [2:0]     i_p1_91             ;
input   [2:0]     i_p1_92             ;
input   [2:0]     i_p1_93             ;
input   [2:0]     i_p1_94             ;
input   [2:0]     i_p1_95             ;
input   [2:0]     i_p1_96             ;
input   [2:0]     i_p1_97             ;
input   [2:0]     i_p1_98             ;
input   [2:0]     i_p1_99             ;
input   [2:0]     i_p1_100            ;
input   [2:0]     i_p1_101            ;
input   [2:0]     i_p1_102            ;
input   [2:0]     i_p1_103            ;
input   [2:0]     i_p1_104            ;
input   [2:0]     i_p1_105            ;
input   [2:0]     i_p1_106            ;
input   [2:0]     i_p1_107            ;
input   [2:0]     i_p1_108            ;
input   [2:0]     i_p1_109            ;
input   [2:0]     i_p1_110            ;
input   [2:0]     i_p1_111            ;
input   [2:0]     i_p1_112            ;
input   [2:0]     i_p1_113            ;
input   [2:0]     i_p1_114            ;
input   [2:0]     i_p1_115            ;
input   [2:0]     i_p1_116            ;
input   [2:0]     i_p1_117            ;
input   [2:0]     i_p1_118            ;
input   [2:0]     i_p1_119            ;
input   [2:0]     i_p1_120            ;
input   [2:0]     i_p1_121            ;
input   [2:0]     i_p1_122            ;
input   [2:0]     i_p1_123            ;
input   [2:0]     i_p1_124            ;
input   [2:0]     i_p1_125            ;
input   [2:0]     i_p1_126            ;
input   [2:0]     i_p1_127            ;
input   [2:0]     i_p1_128            ;
input   [2:0]     i_p1_129            ;
input   [2:0]     i_p1_130            ;
input   [2:0]     i_p1_131            ;
input   [2:0]     i_p1_132            ;
input   [2:0]     i_p1_133            ;
input   [2:0]     i_p1_134            ;
input   [2:0]     i_p1_135            ;
input   [2:0]     i_p1_136            ;
input   [2:0]     i_p1_137            ;
input   [2:0]     i_p1_138            ;
input   [2:0]     i_p1_139            ;
input   [2:0]     i_p1_140            ;
input   [2:0]     i_p1_141            ;
input   [2:0]     i_p1_142            ;
input   [2:0]     i_p1_143            ;
input   [2:0]     i_p1_144            ;
input   [2:0]     i_p1_145            ;
input   [2:0]     i_p1_146            ;
input   [2:0]     i_p1_147            ;
input   [2:0]     i_p1_148            ;
input   [2:0]     i_p1_149            ;
input   [2:0]     i_p1_150            ;
input   [2:0]     i_p1_151            ;
input   [2:0]     i_p1_152            ;
input   [2:0]     i_p1_153            ;
input   [2:0]     i_p1_154            ;
input   [2:0]     i_p1_155            ;
input   [2:0]     i_p1_156            ;
input   [2:0]     i_p1_157            ;
input   [2:0]     i_p1_158            ;
input   [2:0]     i_p1_159            ;
input   [2:0]     i_p1_160            ;
input   [2:0]     i_p1_161            ;
input   [2:0]     i_p1_162            ;
input   [2:0]     i_p1_163            ;
input   [2:0]     i_p1_164            ;
input   [2:0]     i_p1_165            ;
input   [2:0]     i_p1_166            ;
input   [2:0]     i_p1_167            ;
input   [2:0]     i_p1_168            ;
input   [2:0]     i_p1_169            ;
input   [2:0]     i_p1_170            ;
input   [2:0]     i_p1_171            ;
input   [2:0]     i_p1_172            ;
input   [2:0]     i_p1_173            ;
input   [2:0]     i_p1_174            ;
input   [2:0]     i_p1_175            ;
input   [2:0]     i_p1_176            ;
input   [2:0]     i_p1_177            ;
input   [2:0]     i_p1_178            ;
input   [2:0]     i_p1_179            ;
input   [2:0]     i_p1_180            ;
input   [2:0]     i_p1_181            ;
input   [2:0]     i_p1_182            ;
input   [2:0]     i_p1_183            ;
input   [2:0]     i_p1_184            ;
input   [2:0]     i_p1_185            ;
input   [2:0]     i_p1_186            ;
input   [2:0]     i_p1_187            ;
input   [2:0]     i_p1_188            ;
input   [2:0]     i_p1_189            ;
input   [2:0]     i_p1_190            ;
input   [2:0]     i_p1_191            ;
input   [2:0]     i_p1_192            ;
input   [2:0]     i_p1_193            ;
input   [2:0]     i_p1_194            ;
input   [2:0]     i_p1_195            ;
input   [2:0]     i_p1_196            ;
input   [2:0]     i_p1_197            ;
input   [2:0]     i_p1_198            ;
input   [2:0]     i_p1_199            ;
input   [2:0]     i_p1_200            ;
input   [2:0]     i_p1_201            ;
input   [2:0]     i_p1_202            ;
input   [2:0]     i_p1_203            ;
input   [2:0]     i_p1_204            ;
input   [2:0]     i_p1_205            ;
input   [2:0]     i_p1_206            ;
input   [2:0]     i_p1_207            ;
input   [2:0]     i_p1_208            ;
input   [2:0]     i_p1_209            ;
input   [2:0]     i_p1_210            ;
input   [2:0]     i_p1_211            ;
input   [2:0]     i_p1_212            ;
input   [2:0]     i_p1_213            ;
input   [2:0]     i_p1_214            ;
input   [2:0]     i_p1_215            ;
input   [2:0]     i_p1_216            ;
input   [2:0]     i_p1_217            ;
input   [2:0]     i_p1_218            ;
input   [2:0]     i_p1_219            ;
input   [2:0]     i_p1_220            ;
input   [2:0]     i_p1_221            ;
input   [2:0]     i_p1_222            ;
input   [2:0]     i_p1_223            ;
input   [2:0]     i_p1_224            ;
input   [2:0]     i_p1_225            ;
input   [2:0]     i_p2_0              ;  
input   [2:0]     i_p2_1              ;
input   [2:0]     i_p2_2              ;
input   [2:0]     i_p2_3              ;
input   [2:0]     i_p2_4              ;
input   [2:0]     i_p2_5              ;
input   [2:0]     i_p2_6              ;
input   [2:0]     i_p2_7              ;
input   [2:0]     i_p2_8              ;
input   [2:0]     i_p2_9              ;
input   [2:0]     i_p2_10             ;
input   [2:0]     i_p2_11             ;
input   [2:0]     i_p2_12             ;
input   [2:0]     i_p2_13             ;
input   [2:0]     i_p2_14             ;
input   [2:0]     i_p2_15             ;
input   [2:0]     i_p2_16             ;
input   [2:0]     i_p2_17             ;
input   [2:0]     i_p2_18             ;
input   [2:0]     i_p2_19             ;
input   [2:0]     i_p2_20             ;
input   [2:0]     i_p2_21             ;
input   [2:0]     i_p2_22             ;
input   [2:0]     i_p2_23             ;
input   [2:0]     i_p2_24             ;
input   [2:0]     i_p2_25             ;
input   [2:0]     i_p2_26             ;
input   [2:0]     i_p2_27             ;
input   [2:0]     i_p2_28             ;
input   [2:0]     i_p2_29             ;
input   [2:0]     i_p2_30             ;
input   [2:0]     i_p2_31             ;
input   [2:0]     i_p2_32             ;
input   [2:0]     i_p2_33             ;
input   [2:0]     i_p2_34             ;
input   [2:0]     i_p2_35             ;
input   [2:0]     i_p2_36             ;
input   [2:0]     i_p2_37             ;
input   [2:0]     i_p2_38             ;
input   [2:0]     i_p2_39             ;
input   [2:0]     i_p2_40             ;
input   [2:0]     i_p2_41             ;
input   [2:0]     i_p2_42             ;
input   [2:0]     i_p2_43             ;
input   [2:0]     i_p2_44             ;
input   [2:0]     i_p2_45             ;
input   [2:0]     i_p2_46             ;
input   [2:0]     i_p2_47             ;
input   [2:0]     i_p2_48             ;
input   [2:0]     i_p2_49             ;
input   [2:0]     i_p2_50             ;
input   [2:0]     i_p2_51             ;
input   [2:0]     i_p2_52             ;
input   [2:0]     i_p2_53             ;
input   [2:0]     i_p2_54             ;
input   [2:0]     i_p2_55             ;
input   [2:0]     i_p2_56             ;
input   [2:0]     i_p2_57             ;
input   [2:0]     i_p2_58             ;
input   [2:0]     i_p2_59             ;
input   [2:0]     i_p2_60             ;
input   [2:0]     i_p2_61             ;
input   [2:0]     i_p2_62             ;
input   [2:0]     i_p2_63             ;
input   [2:0]     i_p2_64             ;
input   [2:0]     i_p2_65             ;
input   [2:0]     i_p2_66             ;
input   [2:0]     i_p2_67             ;
input   [2:0]     i_p2_68             ;
input   [2:0]     i_p2_69             ;
input   [2:0]     i_p2_70             ;
input   [2:0]     i_p2_71             ;
input   [2:0]     i_p2_72             ;
input   [2:0]     i_p2_73             ;
input   [2:0]     i_p2_74             ;
input   [2:0]     i_p2_75             ;
input   [2:0]     i_p2_76             ;
input   [2:0]     i_p2_77             ;
input   [2:0]     i_p2_78             ;
input   [2:0]     i_p2_79             ;
input   [2:0]     i_p2_80             ;
input   [2:0]     i_p2_81             ;
input   [2:0]     i_p2_82             ;
input   [2:0]     i_p2_83             ;
input   [2:0]     i_p2_84             ;
input   [2:0]     i_p2_85             ;
input   [2:0]     i_p2_86             ;
input   [2:0]     i_p2_87             ;
input   [2:0]     i_p2_88             ;
input   [2:0]     i_p2_89             ;
input   [2:0]     i_p2_90             ;
input   [2:0]     i_p2_91             ;
input   [2:0]     i_p2_92             ;
input   [2:0]     i_p2_93             ;
input   [2:0]     i_p2_94             ;
input   [2:0]     i_p2_95             ;
input   [2:0]     i_p2_96             ;
input   [2:0]     i_p2_97             ;
input   [2:0]     i_p2_98             ;
input   [2:0]     i_p2_99             ;
input   [2:0]     i_p2_100            ;
input   [2:0]     i_p2_101            ;
input   [2:0]     i_p2_102            ;
input   [2:0]     i_p2_103            ;
input   [2:0]     i_p2_104            ;
input   [2:0]     i_p2_105            ;
input   [2:0]     i_p2_106            ;
input   [2:0]     i_p2_107            ;
input   [2:0]     i_p2_108            ;
input   [2:0]     i_p2_109            ;
input   [2:0]     i_p2_110            ;
input   [2:0]     i_p2_111            ;
input   [2:0]     i_p2_112            ;
output            o_w_en              ;
output  [0:95]    o_data              ;

///////////////////////////////////////
//declaration of registers & wires
///////////////////////////////////////
reg     [0:95]    o_data              ;
reg               o_w_en              ;
parameter data38  = 38'd0             ;
parameter data0   = 1'd0              ;

///////////////////////////////////////
//            program 
/////////////////////////////////////// 

///////////////////////////////////////
//Send the check digit data to the output FIFO
///////////////////////////////////////
always@(posedge i_clk or negedge i_rst_n)
if(i_rst_n == 1'b0)   
    o_data <= 96'd0                ;
else begin
case(i_cnt)
    7'd91:o_data   <= {data0       , i_p1_0   , i_p1_1   , i_p1_2   , i_p1_3   , i_p1_4   , i_p1_5   , i_p1_6   , i_p1_7   , i_p1_8   , i_p1_9   , i_p1_10  , i_p1_11  , i_p1_12  , i_p1_13  , i_p1_14  , i_p1_15  , i_p1_16  , i_p1_17  , i_p1_18  , i_p1_19  , i_p1_20  , i_p1_21  , i_p1_22  , i_p1_23  , i_p1_24  , i_p1_25  , i_p1_26  , i_p1_27  , i_p1_28  , i_p1_29  , i_p1_30  , i_p1_31[2:1]  }; 
    7'd92:o_data   <= {i_p1_31[0]  , i_p1_32  , i_p1_33  , i_p1_34  , i_p1_35  , i_p1_36  , i_p1_37  , i_p1_38  , i_p1_39  , i_p1_40  , i_p1_41  , i_p1_42  , i_p1_43  , i_p1_44  , i_p1_45  , i_p1_46  , i_p1_47  , i_p1_48  , i_p1_49  , i_p1_50  , i_p1_21  , i_p1_52  , i_p1_53  , i_p1_54  , i_p1_55  , i_p1_56  , i_p1_57  , i_p1_58  , i_p1_59  , i_p1_60  , i_p1_61  , i_p1_62  , i_p1_63[2:1]  };   
    7'd93:o_data   <= {i_p1_63[0]  , i_p1_64  , i_p1_65  , i_p1_66  , i_p1_67  , i_p1_68  , i_p1_69  , i_p1_70  , i_p1_71  , i_p1_72  , i_p1_73  , i_p1_74  , i_p1_75  , i_p1_76  , i_p1_77  , i_p1_78  , i_p1_79  , i_p1_80  , i_p1_81  , i_p1_82  , i_p1_83  , i_p1_84  , i_p1_85  , i_p1_86  , i_p1_87  , i_p1_88  , i_p1_89  , i_p1_90  , i_p1_91  , i_p1_92  , i_p1_93  , i_p1_94  , i_p1_95[2:1]  }; 
    7'd94:o_data   <= {i_p1_95[0]  , i_p1_96  , i_p1_97  , i_p1_98  , i_p1_99  , i_p1_100 , i_p1_101 , i_p1_102 , i_p1_103 , i_p1_104 , i_p1_105 , i_p1_106 , i_p1_107 , i_p1_108 , i_p1_109 , i_p1_110 , i_p1_111 , i_p1_112 , i_p1_113 , i_p1_114 , i_p1_115 , i_p1_116 , i_p1_117 , i_p1_118 , i_p1_119 , i_p1_120 , i_p1_121 , i_p1_122 , i_p1_123 , i_p1_124 , i_p1_125 , i_p1_126 , i_p1_127[2:1] };  
    7'd95:o_data   <= {i_p1_127[0] , i_p1_128 , i_p1_129 , i_p1_130 , i_p1_131 , i_p1_132 , i_p1_133 , i_p1_134 , i_p1_135 , i_p1_136 , i_p1_137 , i_p1_138 , i_p1_139 , i_p1_140 , i_p1_141 , i_p1_142 , i_p1_143 , i_p1_144 , i_p1_145 , i_p1_146 , i_p1_147 , i_p1_148 , i_p1_149 , i_p1_150 , i_p1_151 , i_p1_152 , i_p1_153 , i_p1_154 , i_p1_155 , i_p1_156 , i_p1_157 , i_p1_158 , i_p1_159[2:1] }; 
    7'd96:o_data   <= {i_p1_159[0] , i_p1_160 , i_p1_161 , i_p1_162 , i_p1_163 , i_p1_164 , i_p1_165 , i_p1_166 , i_p1_167 , i_p1_168 , i_p1_169 , i_p1_170 , i_p1_171 , i_p1_172 , i_p1_173 , i_p1_174 , i_p1_175 , i_p1_176 , i_p1_177 , i_p1_178 , i_p1_179 , i_p1_180 , i_p1_181 , i_p1_182 , i_p1_183 , i_p1_184 , i_p1_185 , i_p1_186 , i_p1_187 , i_p1_188 , i_p1_189 , i_p1_190 , i_p1_191[2:1] };  
    7'd97:o_data   <= {i_p1_191[0] , i_p1_192 , i_p1_193 , i_p1_194 , i_p1_195 , i_p1_196 , i_p1_197 , i_p1_198 , i_p1_199 , i_p1_200 , i_p1_201 , i_p1_202 , i_p1_203 , i_p1_204 , i_p1_205 , i_p1_206 , i_p1_207 , i_p1_208 , i_p1_209 , i_p1_210 , i_p1_211 , i_p1_212 , i_p1_213 , i_p1_214 , i_p1_215 , i_p1_216 , i_p1_217 , i_p1_218 , i_p1_219 , i_p1_220 , i_p1_221 , i_p1_222 , i_p1_223[2:1] }; 
    7'd98:o_data   <= {i_p1_223[0] , i_p1_224 , i_p1_225 , i_p2_0   , i_p2_1   , i_p2_2   , i_p2_3   , i_p2_4   , i_p2_5   , i_p2_6   , i_p2_7   , i_p2_8   , i_p2_9   , i_p2_10  , i_p2_11  , i_p2_12  , i_p2_13  , i_p2_14  , i_p2_15  , i_p2_16  , i_p2_17  , i_p2_18  , i_p2_19  , i_p2_20  , i_p2_21  , i_p2_22  , i_p2_23  , i_p2_24  , i_p2_25  , i_p2_26  , i_p2_27  , i_p2_28  , i_p2_29[2:1]  };    
    7'd99:o_data   <= {i_p2_29[0]  , i_p2_30  , i_p2_31  , i_p2_32  , i_p2_33  , i_p2_34  , i_p2_35  , i_p2_36  , i_p2_37  , i_p2_38  , i_p2_39  , i_p2_40  , i_p2_41  , i_p2_42  , i_p2_43  , i_p2_44  , i_p2_45  , i_p2_46  , i_p2_47  , i_p2_48  , i_p2_49  , i_p2_50  , i_p2_51  , i_p2_52  , i_p2_53  , i_p2_54  , i_p2_55  , i_p2_56  , i_p2_57  , i_p2_58  , i_p2_59  , i_p2_60  , i_p2_61[2:1]  };     
    7'd100:o_data  <= {i_p2_61[0]  , i_p2_62  , i_p2_63  , i_p2_64  , i_p2_65  , i_p2_66  , i_p2_67  , i_p2_68  , i_p2_69  , i_p2_70  , i_p2_71  , i_p2_72  , i_p2_73  , i_p2_74  , i_p2_75  , i_p2_76  , i_p2_77  , i_p2_78  , i_p2_79  , i_p2_80  , i_p2_81  , i_p2_82  , i_p2_83  , i_p2_84  , i_p2_85  , i_p2_86  , i_p2_87  , i_p2_88  , i_p2_89  , i_p2_90  , i_p2_91  , i_p2_92  , i_p2_93[2:1]  };       
    7'd101:o_data  <= {i_p2_93[0]  , i_p2_94  , i_p2_95  , i_p2_96  , i_p2_97  , i_p2_98  , i_p2_99  , i_p2_100 , i_p2_101 , i_p2_102 , i_p2_103 , i_p2_104 , i_p2_105 , i_p2_106 , i_p2_107 , i_p2_108 , i_p2_109 , i_p2_110 , i_p2_111 , i_p2_112 , data38   }; 
    default:o_data <= 96'd0        ; 
endcase
end

///////////////////////////////////////
//Synchronous output FIFO read enable signal
///////////////////////////////////////
always@(posedge i_clk or negedge i_rst_n) 
if(i_rst_n == 1'b0)
    o_w_en <= 1'b0                ;  
else begin 
case(i_cnt)
    7'd91:  o_w_en <= 1'b1        ;
    7'd92:  o_w_en <= 1'b1        ;
    7'd93:  o_w_en <= 1'b1        ;
    7'd94:  o_w_en <= 1'b1        ;
    7'd95:  o_w_en <= 1'b1        ;
    7'd96:  o_w_en <= 1'b1        ;
    7'd97:  o_w_en <= 1'b1        ;
    7'd98:  o_w_en <= 1'b1        ;
    7'd99:  o_w_en <= 1'b1        ;
    7'd100: o_w_en <= 1'b1        ;
    7'd101: o_w_en <= 1'b1        ;
    default:o_w_en <= 1'b0        ;
endcase
end
    
endmodule  